sliceFunction=Manipulate[Module[{f,g},f[u_,v_]:=function/.x->u/.y->v;g[x_,y_]:=k;xRange={x,-5,5};yRange={y,-5,5};Plot3D[Evaluate[{f[x,y],g[x,y]}],Evaluate[xRange],Evaluate[yRange],PlotStyle->{Opacity[1.],Opacity[0.5]},SphericalRegion->True,ClippingStyle->None,Mesh->{10,10,{0.}},MeshFunctions->{#1&,#2&,f[#1,#2]-g[#1 , #2 ] &},MeshStyle->{Directive[Blue,Opacity[.3]],Directive[Blue,Opacity[.3]],Directive[Red,Thick]}]],{{function,(x^2)-(y^2),"f(x,y) = "}},{k,-20,20}]

sliceImplicitSurface=Manipulate[Module[{f,xRange,yRange,zRange},

f[u_,v_,w_]:=function/.x->u/.y->v/.z->w;xRange={x,-5,5};yRange={y,-5,5};zRange={z,-5,5};ContourPlot3D[Evaluate[{f[x,y,z]==0,Switch[planeType,"XY",z==k,"XZ",y==k,"YZ",x==k]}],Evaluate[xRange],Evaluate[yRange],Evaluate[zRange],ContourStyle->{Opacity[1.],Opacity[0.7]},SphericalRegion->True,Mesh->{10,10,10,{0.}},MeshFunctions->{#1&,#2&,#3&,Switch[planeType,"XY",f[#1,#2,z] &/.z->k,"XZ",f[#1,y,#3] &/.y->k,"YZ",f[x,#2,#3] &/.x->k]},MeshStyle->{Directive[Blue,Opacity[.3]],Directive[Blue,Opacity[.3]],Directive[Blue,Opacity[.3]],Directive[Red,Thick]}]],{k,-4.5,4.5},{{function,(x^2)+(y^2)-(z^2)-1,"0 = "}},{planeType,{"XY","XZ","YZ"}}]

Plot3D[(x^2)-(y^2),{x,-5,5},{y,-5,5},MeshFunctions->{#1&,#2&,#3& },MeshStyle->{Blue,Blue,Red}]

levelSurfaces=Manipulate[ContourPlot3D[x y z==k,{x,-5,5},{y,-5,5},{z,-5,5}],{k,-5,5}]

ContourPlot3D[x y z,{x,-5,5},{y,-5,5},{z,-5,5},Contours->5]

Export["sliceFunction.swf",sliceFunction];Export["sliceImplicitSurface.swf",sliceImplicitSurface];Export["levelSurfaces.swf",levelSurfaces]